Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Development: Document Jenkins and LocalVC setup #9266

Merged

Conversation

BaumiCoder
Copy link
Contributor

@BaumiCoder BaumiCoder commented Sep 2, 2024

Checklist

General

Server

Only changes in the documentation

Client

Only changes in the documentation

Motivation and Context

Using Artemis with Jenkins as the CI system is still a valuable option, but GitLab support will be removed from Artemis. Another VCS for Jenkins can be LocalVC. For this new combination there is no documentation yet to set this up from scratch. For migrating existing installation there is PR #8972 (Issue #8754).

Description

A documentation for using Artemis with Jenkins and LocalVC. It is adjusted copy of the documentation for Jenkins and GitLab, which will be removed with 8.0.0 (see 8202bda). In addition, also small changes for the Jenkins and GitLab documentation (mark it as deprecated and remove old parts about GitLab to Jenkins pushes).

Steps for Testing

Nothing to test - Only changes in the documentation

Review Progress

Code Review

  • Code Review 1
  • Code Review 2

Summary by CodeRabbit

Summary by CodeRabbit

  • Documentation Updates
    • Revised setup instructions for integrating LocalVC and Jenkins, highlighting the new preferred tools.
    • Marked "GitLab and Jenkins" as deprecated, encouraging users to transition to LocalVC.
    • Introduced a new document specifically for setting up Jenkins with LocalVC, detailing prerequisites and configuration steps.
    • Provided comprehensive guidance on Jenkins plugin installation and user management for a secure CI/CD pipeline.
    • Enhanced clarity and relevance of setup instructions to ensure users adopt the most effective tools for their development needs.
    • Updated output messages in setup scripts to reflect correct configuration files.

 - only rename title yet
 - Adjust label in the old file to get old links reference
   to the new jenkins-localvc documentation
GitLab also supports token for authentification but LocalVC does not.
GitLab to Jenkins pushes does not exist anymore. Therefore also remove
the parts about this from the Jenkins-GitLab documentation.
The yml file have to be different between localvc and gitlab setup.
Unmodified version from develop branch
@BaumiCoder BaumiCoder self-assigned this Sep 2, 2024
@BaumiCoder BaumiCoder requested a review from a team as a code owner September 2, 2024 07:49
Copy link

coderabbitai bot commented Sep 2, 2024

Walkthrough

The changes include updates to the documentation for the Artemis development environment, specifically regarding the integration of version control and continuous integration tools. The primary modification is the introduction of "LocalVC and Jenkins" as the recommended setup, replacing the deprecated "GitLab and Jenkins." Additionally, a new guide for setting up Jenkins with LocalVC has been added, detailing prerequisites and configuration steps. The documentation has also been refined to reflect the upcoming removal of GitLab support and streamline setup processes.

Changes

File Change Summary
README.md, docs/dev/setup.rst Updated integration tools, introducing "LocalVC and Jenkins" as the preferred option; marked "GitLab and Jenkins" as deprecated.
docs/dev/setup/jenkins-localvc.rst New documentation for setting up Jenkins with LocalVC, covering prerequisites, configuration steps, and operational guidelines.
docs/dev/setup/jenkins-gitlab.rst Updated documentation to emphasize the removal of GitLab support; streamlined setup instructions and configuration references.
docker/gitlab/gitlab-local-setup.sh Updated output message to direct users to the correct configuration file for GitLab integration.

Possibly related PRs

Suggested labels

chore, ready to merge, template


Recent review details

Configuration used: .coderabbit.yaml
Review profile: ASSERTIVE

Commits

Files that changed from the base of the PR and between d1861b2 and d579a60.

Files selected for processing (1)
  • docs/dev/setup/jenkins-localvc.rst (1 hunks)
Additional comments not posted (2)
docs/dev/setup/jenkins-localvc.rst (2)

19-23: Enhance Docker memory recommendation

The current recommendation for Docker memory allocation can be made clearer by specifying a suggested minimum value:

 Make sure that docker has enough memory (~ 6GB). To adapt it, go to ``Preferences -> Resources`` and restart Docker.
+It is recommended to allocate at least 6GB of memory to ensure smooth operation.

Providing a concrete minimum value helps guide users in allocating sufficient resources for the setup.


1-1: Verify if manual Jenkins setup section should be restructured in this PR

A previous review comment suggested restructuring the manual Jenkins setup section for better clarity and logical flow:

ToDo @b-fein: Restructure Jenkins setup documentation

Right now the documentation jumps frequently between steps required only for local setups, then steps required for production setups, some Nginx setup in between. This is very hard to understand.

However, the PR summary indicates that the scope of this PR is primarily focused on updating the existing Jenkins+GitLab documentation to replace GitLab with LocalVC, rather than a comprehensive restructuring.

Please verify if the manual setup section should be restructured as part of this PR or if it would be better addressed as a separate documentation improvement task. If deferring, consider creating a follow-up issue to track this enhancement.


Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

Share
Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    -- I pushed a fix in commit <commit_id>, please review it.
    -- Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    -- @coderabbitai generate unit testing code for this file.
    -- @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    -- @coderabbitai generate interesting stats about this repository and render them as a table.
    -- @coderabbitai read src/utils.ts and generate unit testing code.
    -- @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    -- @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai or @coderabbitai title anywhere in the PR title to generate the title automatically.

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 5

Outside diff range comments (3)
docs/dev/setup.rst (1)

Line range hint 1-89: Overall, the changes look good but could benefit from additional context.

The updates to the integration stacks and toctree are consistent with the PR objectives. The new "LocalVC and Jenkins" setup is added, and "GitLab and Jenkins" is correctly marked as deprecated. The toctree is updated to include the new setup file.

To improve clarity for users, consider adding a brief explanation about the transition from GitLab to LocalVC, as suggested in the previous comment. This would help users understand the reason for these changes and guide them towards the new recommended setup.

docs/dev/setup/jenkins-localvc.rst (2)

Line range hint 793-798: Consider adding a brief explanation of caching

While it's good to reference the administration documentation for more details, it would be helpful to include a brief explanation of what caching is used for in this context (e.g., improving build performance, reducing network usage). This would give readers a better understanding of why they might want to configure caching.


Line range hint 1-798: Overall, excellent and comprehensive documentation

This documentation provides a thorough guide for setting up Jenkins and LocalVC with Artemis. The content is well-structured and covers all necessary aspects of the setup process. To further improve the document:

  1. Consider adding a table of contents at the beginning for easier navigation.
  2. Include version numbers for the software being discussed (e.g., Jenkins, Docker) to help readers understand if the instructions are applicable to their specific versions.
  3. Add troubleshooting tips or a FAQ section to address common issues users might encounter during the setup process.

These additions would make the documentation even more user-friendly and comprehensive.

docs/dev/setup.rst Show resolved Hide resolved
README.md Outdated Show resolved Hide resolved
docs/dev/setup/jenkins-localvc.rst Show resolved Hide resolved
docs/dev/setup/jenkins-localvc.rst Outdated Show resolved Hide resolved
docs/dev/setup/jenkins-localvc.rst Show resolved Hide resolved
coderabbitai[bot]
coderabbitai bot previously approved these changes Sep 2, 2024
README.md Outdated Show resolved Hide resolved
@@ -868,87 +859,6 @@ GitLab Repository Access
continuous-integration:
vcs-credentials: the.id.of.the.username.and.password.credentials.from.jenkins

GitLab to Jenkins push notification token
Copy link
Contributor

@b-fein b-fein Sep 3, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Note for other reviewers: For quite some time now Artemis sends the notification directly to Jenkins instead of relying on a Webhook from GitLab to Jenkins. Therefore, this token is no longer required.

docs/dev/setup/jenkins-localvc.rst Outdated Show resolved Hide resolved
docs/dev/setup/jenkins-localvc.rst Outdated Show resolved Hide resolved
docs/dev/setup/jenkins-localvc.rst Show resolved Hide resolved
docs/dev/setup/jenkins-localvc.rst Outdated Show resolved Hide resolved
docs/dev/setup/jenkins-localvc.rst Outdated Show resolved Hide resolved
docs/dev/setup/jenkins-localvc.rst Outdated Show resolved Hide resolved
docs/dev/setup/jenkins-localvc.rst Show resolved Hide resolved
docs/dev/setup/jenkins-localvc.rst Outdated Show resolved Hide resolved
Co-authored-by: Benedikt Fein <[email protected]>
BaumiCoder and others added 2 commits September 3, 2024 10:39
Co-authored-by: Benedikt Fein <[email protected]>
Co-authored-by: Benedikt Fein <[email protected]>
coderabbitai[bot]
coderabbitai bot previously approved these changes Sep 3, 2024
Co-authored-by: Benedikt Fein <[email protected]>
coderabbitai[bot]
coderabbitai bot previously approved these changes Sep 14, 2024
b-fein
b-fein previously approved these changes Sep 14, 2024
Copy link
Contributor

@magaupp magaupp left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I tried following the Automated Jenkins Server Setup and had to do some changes until I got a working setup.

docs/dev/setup/jenkins-gitlab.rst Show resolved Hide resolved
docs/dev/setup/jenkins-localvc.rst Outdated Show resolved Hide resolved
docs/dev/setup/jenkins-localvc.rst Outdated Show resolved Hide resolved
docs/dev/setup/jenkins-localvc.rst Outdated Show resolved Hide resolved
docs/dev/setup/jenkins-localvc.rst Outdated Show resolved Hide resolved
dfuchss
dfuchss previously approved these changes Sep 16, 2024
Copy link
Contributor

@dfuchss dfuchss left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Only minor comments

docs/dev/setup/jenkins-gitlab.rst Show resolved Hide resolved
docs/dev/setup/jenkins-localvc.rst Outdated Show resolved Hide resolved
This is the url for jenkins to access LocalVC / Artemis,
therefore localhost is wrong here. Instead it have to connect to
the docker host.
Use localhost for accessing LocalVC to have a nicer cloning url,
similar to GitLab (where it was only a different port of localhost).
Copy link
Contributor

@magaupp magaupp left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good 👍

@dfuchss dfuchss added this to the 7.5.3 milestone Sep 18, 2024
@krusche krusche modified the milestones: 7.5.3, 7.5.4 Sep 18, 2024
@krusche krusche changed the title Development: Document Jenkins and LocalVC Setup Development: Document Jenkins and LocalVC setup Sep 19, 2024
@krusche krusche merged commit afa1e3f into develop Sep 19, 2024
28 of 31 checks passed
@krusche krusche deleted the feature/programming-exercises/document-localvc-jenkins branch September 19, 2024 20:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

5 participants